package com.ruoyi.client.mapper;

import com.ruoyi.myshop.domain.Cart;
import com.ruoyi.client.pojo.vo.CartVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository("ClientCartMapper")
public interface CartMapper {

    // 更新购物车对象
    int update(Cart cart);

    // 插入新的购物车对象
    int insert(Cart cart);

    // 根据用户和商品查询返回购物车表中的记录
    Cart selectByUserIdAndGoodsId(@Param("userId") Long userId, @Param("goodsId") Long goodsId);

    // 删除购物车中的商品(单个）
    int deleteByPrimaryKey(Long id);

    // 删除购物车中的商品（多个）
    int deleteBatch(Long[] ids);

    // 删除购物车中的商品（我的全部）
    int deleteByUserId(Long userId);

    // 更改我的购物车全部项是否勾选 用户全选/全不选
    int updateIsCheckedAllByUserId( @Param("userId") Long userId, @Param("isChecked") Boolean isChecked);

    // 查询我的购物车列表
    List<CartVo> listByUserId(Long userId);

    // 查询我的购物车列表(已勾选的）
    List<CartVo> listIsCheckedByUserId(Long userId);
}
